/*
 * nmats.h
 *
 *  Created on: Jan 11, 2010
 *      Author: Marco Luisi
 */

#ifndef NMATS_H_
#define NMATS_H_


#include "nmat.h"
#include "util.h" // da tnere?
#include <dirent.h>
#include <wait.h>

#define ONLINE 1
#define OFFLINE 0
#define NAME_LEN 12

typedef struct {
	char *name; //dare una dimensione standard?
	pid_t wpid; // mettere a zero direttamente qui?
}user;





void init();
void listen();
void cleanup();
void spawn(user*, char*);
int validate(char *, user*);

int usrcmp(const void *, const void *);

void makedir(char*);

void chld_handler(int); //deve servire per la lista degli utenti
						// quando arriva un sigchld c'è da mettere il rispettivo utente offline
void int_handler(int);

void term_handler(int);


#endif /* NMATS_H_ */
